package com.polaris.live.resp.back_resp

import android.os.Parcelable

/**
 *
 * @author Created by 天晴 on 2024/12/14 15:16
 * @since 1.0.0
 **/
data class UserVipCenterResp(
    /**
     * vip等级列表
     */
    val levels: List<UserVipLevel>,
)

/**
 * UserVipLevel
 */
@kotlinx.parcelize.Parcelize
data class UserVipLevel(
    /**
     * 当前有效天数 如果为0则说明当前全是体验，否则默认先消耗付费天数
     */
    val days: Long,

    /**
     * vip显示特效
     */
    val displayEffectUrl: String,

    /**
     * 过期时间
     */
    val expireTime: String? = null,

    /**
     * vip框显示特效
     */
    val frameEffectUrl: String,

    /**
     * 专属身份
     */
    val identities: List<UserVipIdentity>,

    /**
     * 等级
     */
    val level: Long,

    /**
     * 原价
     */
    val price: Long,

    /**
     * 一次购买多少天
     */
    val priceDays: Long,

    /**
     * 专属特权
     */
    val privileges: List<UserVipPrivilege>,

    /**
     * 多少天后恢复原价，只有过期了才有这个
     */
    val renewalDays: Long,

    /**
     * 续期价
     */
    val renewalPrice: Long,

    /**
     * 试用天数
     */
    val trialDays: Long,

    /**
     * vip状态
     *
     * 0: 未开通
     * 1: 续费
     * 2: 只有正式
     * 3: 只有试用
     * 4: 同时拥有正式和试用
     */
    val bizType: Long,

    /**
     * vip灰色勋章url
     */
    val fallbackMedalUrl: String,
) : Parcelable

/**
 * UserVipIdentity，vip身份
 */
@kotlinx.parcelize.Parcelize
data class UserVipIdentity(
    /**
     * 如果有这个展示佩戴
     */
    val backpackId: Long? = null,
    /**
     * 装饰类型，如果是装饰
     */
    val decorationType: Long? = null,

    /**
     *  播放动效 勋章取这个
     */
    val displayEffectUrl: String? = null,

    /**
     * 说明
     */
    val explain: String,

    /**
     * 我的说明
     */
    val explainMine: String,

    /**
     * 拓展数据
     */
    val ext: String? = null,

    /**
     * 图标
     */
    val icon: String,

    /**
     * width
     */
    val name: String,
    /**
     * 名称
     */
    val width: Int?,
    /**
     * height
     */
    val height: Int?,
    /**
     * 高亮
     */
    val explainHighlights: HighlightResp? = null,
    /**
     * mine高亮
     */
    val explainMineHighlights: HighlightResp? = null,
    /**
     * 路由
     */
    val router: VipRouterTitle? = null,
) : Parcelable

/**
 * UserVipPrivilege，vip特权
 */
@kotlinx.parcelize.Parcelize
data class UserVipPrivilege(
    /**
     * 特权是否点亮
     */
    val active: Boolean,

    /**
     * 预览图片
     */
    val displayUrl: String? = null,

    /**
     * 说明
     */
    val explain: String,

    /**
     * 我的说明
     */
    val explainMine: String,

    /**
     * 图标
     */
    val icon: String,

    /**
     * 名称
     */
    val name: String,
    /**
     * 名称
     */
    val width: Int?,
    /**
     * height
     */
    val height: Int?,
    /**
     * 高亮
     */
    val explainHighlights: HighlightResp? = null,
    /**
     * mine高亮
     */
    val explainMineHighlights: HighlightResp? = null,
    /**
     * 路由
     */
    val router: VipRouterTitle? = null
) : Parcelable

/**
 * RouterTitle
 */
@kotlinx.parcelize.Parcelize
data class VipRouterTitle (
    /**
     * 路由，如果为空则说明不需要路由
     */
    var router: String? = null,

    /**
     * 内容，通常是英文
     */
    val title: String
): Parcelable